Service link selection control method and device

ABSTRACT

Disclosed are a flow classifier, policy and charging rules function unit and controller. The flow classifier receives a service chain selection control policy sent by a policy and charging rules function unit. The service chain selection control policy includes a corresponding relation between an application type and an identifier of a service chain. The service chain is a path formed by a forwarding device and a value-added service device both of which a service flow with the application type needs to pass through. The flow classifier detects the service flow with the application type based on the service chain selection control policy and adds the identifier of the service chain to a message of the service flow. The flow classifier sends the message of the service flow with the added identifier of the service chain to a forwarding device directly connected to the flow classifier.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/280,682, filed on Sep. 29, 2016, which is a continuation ofInternational Application No. PCT/CN2015/074502, filed on Mar. 18, 2015,which claims priority to Chinese Patent Application No. 201410129900.6,filed on Apr. 1, 2014. All of the aforementioned patent applications arehereby incorporated by reference in their entireties.

TECHNICAL FIELD

The present application relates to the field of communication,particularly to a service chain selection control method and device.

BACKGROUND

In the prior art, as shown in FIG. 1, a large number of value-addedservice devices, including an antivirus device 120, an application cacheand acceleration device 130, a firewall 140, a network addresstranslation (NAT) device 150 or the like, are connected in seriesbetween an access device 110 and the internet. Data generated by a userterminal after the user terminal accesses the network through the accessdevice 110 has to pass through the antivirus device 120, the applicationcache and acceleration device 130, the firewall 140, and the networkaddress translation device 150 sequentially. In practical use, someusers may only sign up for an antivirus service, and some other usersmay only need the network address translation. However, in the priorart, the antivirus device 120, the application cache and accelerationdevice 130, the firewall 140, and the network address translation device150 have to be passed through sequentially, thereby causing unnecessarytraffic burden to these devices.

SUMMARY

A service chain selection control method and device are provided in thedisclosure, being able to select an appropriate service chain and avoidpassing a superfluous device.

In a first aspect, a service chain selection control method is providedin the application. The service chain selection control method includes:receiving, by a flow classifier, a service chain selection controlpolicy sent by a policy and charging rules function PCRF unit, where theservice chain selection control policy includes a corresponding relationbetween an application type and an identifier of a service chain, andthe service chain is a path formed by a forwarding device and avalue-added service device both of which a service flow with theapplication type needs to pass through; detecting, by the flowclassifier, the service flow with the application type based on theservice chain selection control policy, and adding the identifier of theservice chain to a message of the service flow; and sending, by the flowclassifier, the message of the service flow with the added identifier ofthe service chain to a forwarding device directly connected to the flowclassifier.

Combined with the first aspect, in a first possible implementation ofthe first aspect of the application, the receiving the service chainselection control policy sent by the PCRF unit includes: receiving,through an extended Gx interface protocol, the service chain selectioncontrol policy sent by the PCRF unit.

In a second aspect, a service chain selection control method is providedin the application. The service chain selection control method includes:receiving, by a policy and charging rules function PCRF unit, a servicechain selection policy sent by a cooperation device, where the servicechain selection policy includes a corresponding relation among firstpolicy contextual information, a first application type and a firstservice chain, the first service chain is a path formed by a forwardingdevice and a value-added service device both of which a first serviceflow needs to pass through, the first service flow is from a usermatching the first policy contextual information, and a type of thefirst service flow is the first application type; and where the servicechain selection policy further includes a corresponding relation amongsecond policy contextual information, a second application type and asecond service chain, the second service chain is a path formed by aforwarding device and a value-added service device both of which asecond service flow needs to pass through, the second service flow isfrom a user with the second policy contextual information, and a type ofthe second service flow is the second application type; receiving, bythe PCRF unit, the first policy contextual information, and determininga service chain selection control policy based on the first policycontextual information and the service chain selection policy, whereinthe service chain selection control policy includes a correspondingrelation between the first application type and the first service chain;and sending, by the PCRF unit, the service chain selection controlpolicy to a flow classifier.

Combined with the second aspect, in a first possible implementation ofthe second aspect of the application, the policy contextual informationincludes at least one of subscriber signing type information, subscriberterminal access type information, subscriber terminal locationinformation and cell congestion information.

Combined with the second aspect, in a second possible implementation ofthe second aspect of the application, the sending the service chainselection control policy to the flow classifier includes: sending theservice chain selection control policy to the flow classifier through anextended Gx interface protocol.

In a third aspect, a service chain selection control method is providedin the application. The service chain selection control method includes:receiving, by a controller, a logic service chain definition sent by acooperation device, where the logic service chain definition includesinformation of a value-added service device through which a servicechain needs to pass, the service chain is a path through which a serviceflow needs to pass, the service chain includes forwarding devices andvalue-added service devices through which the service flow needs topass, and each service chain has an identifier; generating, by thecontroller, a flow forwarding table for each forwarding device throughwhich the service chain passes, based on the logic service chaindefinition, where the flow forwarding table includes matchinginformation and operation information, the matching information includesthe identifier of the service chain, and the operation information is toinstruct one of the forwarding devices to send a message having theidentifier to a value-added service device in the service chain directlyconnected to the forwarding device after the message is received, and toforward the message returned by the value-added service device to a nextforwarding device in the service chain after the message is returned bythe value-added service device; and sending, by the controller, a flowforwarding table generated for each forwarding device to each forwardingdevice through which the service chain passes.

In a third aspect, a flow classifier is provided in the application. Theflow classifier includes a receiving module, an executing module and asending module. The receiving module is configured to receive a servicechain selection control policy sent by a policy and charging rulesfunction PCRF unit, where the service chain selection control policyincludes a corresponding relation between an application type and anidentifier of a service chain, and the service chain is a path formed bya forwarding device and a value-added service device both of which aservice flow with the application type needs to pass through, and thereceiving module sends the service chain selection control policy to theexecuting module. The executing module is configured to receive theservice chain selection control policy, detect the service flow with theapplication type based on the service chain selection control policy,and add the identifier of the service chain to a message of the serviceflow, and the executing module sends the message with the addedidentifier of the service chain to the sending module. The sendingmodule is configured to receive the message with the added identifier ofthe service chain, and send the message of the service flow with theadded identifier of the service chain to a forwarding device directlyconnected to the flow classifier.

Combined with the third aspect, in a first possible implementation ofthe third aspect of the application, the receiving module is configuredto receive, through an extended Gx interface protocol, the service chainselection control policy sent by the PCRF unit.

In a fourth aspect, a policy and charging rules function unit isprovided in the application. The policy and charging rules function unitincludes a receiving module, a policy making module and a sendingmodule. The receiving module is configured to receive a service chainselection policy sent by a cooperation device, where the service chainselection policy includes a corresponding relation among first policycontextual information, a first application type and a first servicechain, the first service chain is a path formed by a forwarding deviceand a value-added service device both of which a first service flow needto pass through, the first service flow is from a user matching thefirst policy contextual information, and a type of the first serviceflow is the first application type, and where the service chainselection policy further includes a corresponding relation among secondpolicy contextual information, a second application type and a secondservice chain, the second service chain is a path formed by a forwardingdevice and a value-added service device both of which a second serviceflow need to pass through, the second service flow is from a user havingthe second policy contextual information, and a type of the secondservice flow is the second application type, and the receiving modulesends the service chain selection policy to the policy making module.The policy making module is configured to receive the service chainselection policy and the first policy contextual information, determinea service chain selection control policy based on the first policycontextual information and the service chain selection policy, where theservice chain selection control policy includes a corresponding relationbetween the first application type and the first service chain, and thepolicy making module sends the service chain selection control policy tothe sending module. The sending module is configured to receive theservice chain selection control policy, and send the service chainselection control policy to a flow classifier.

Combined with the fourth aspect, in a first possible implementation ofthe fourth aspect of the application, the policy contextual informationincludes at least one of subscriber signing type information, subscriberterminal access type information, subscriber terminal locationinformation and cell congestion information.

Combined with the fourth aspect, in a second possible implementation ofthe fourth aspect of the application, the sending module is specificallyconfigured to send, through an extended Gx interface protocol, theservice chain selection control policy to the flow classifier.

In a fifth aspect, a controller is provided in the application. Thecontroller includes a receiving module, a generating module and asending module. The receiving module is configured to receive a logicservice chain definition sent by a cooperation device, where the logicservice chain definition includes information of a value-added servicedevice through which a service chain needs to pass, the service chain isa path through which a service flow needs to pass, the service chaincomprises forwarding devices and value-added service devices both ofwhich the service flow needs to pass through, and each service chain hasan identifier, and the receiving module sends the logic service chaindefinition to the generating module. The generating module is configuredto receive the logic service chain definition, generate a flowforwarding table for each forwarding device through which the servicechain passes, based on the logic service chain definition, where theflow forwarding table includes matching information and operationinformation, the matching information includes the identifier of theservice chain, the operation information is to instruct one of theforwarding devices to send a message having the identifier to avalue-added service devices in the service chain directly connected tothe forwarding device after the message is received, and to forward themessage returned by the value-added service device to a next forwardingdevice in the service chain after the message is returned by thevalue-added service device, and the generating module sends the flowforwarding table to the sending module. The sending module is configuredto receive the flow forwarding table, and send the flow forwarding tablegenerated for each forwarding device to each forwarding device throughwhich the service chain passes.

In the solution, a policy is made based on the policy contextualinformation and the service chain selection policy, to obtain theservice chain selection control policy. Thus the flow classifierexecutes the service chain selection control policy, detects the serviceflow with the application type, and adds the identifier of the servicechain corresponding to the application type to the message of theservice flow. Therefore, the message with the identifier of the servicechain is transmitted along a predefined path which passes through onlythe required value-added service device, rather than a superfluousvalue-added service device, which is advantageous to reduce loads of thedevice. In addition, it is also advantageous to reduce possible failurepoints.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an example of a message transmission path in theprior art;

FIG. 2 is a structural diagram of a service chain selection controlsystem according to an embodiment of the application;

FIG. 3 is a flow chart of a service chain selection control methodaccording to an embodiment of the application;

FIG. 4 is a flow chart of a service chain selection control methodaccording to another embodiment of the application;

FIG. 5 is a flow chart of a service chain selection control methodaccording to still another embodiment of the application;

FIG. 6 is a structural diagram of a policy and charging rules functionunit according to an embodiment of the application;

FIG. 7 is a structural diagram of a flow classifier according to anembodiment of the application;

FIG. 8 is a structural diagram of a controller according to anembodiment of the application;

FIG. 9 is a structural diagram of a policy and charging rules functionunit according to another embodiment of the application;

FIG. 10 is a structural diagram of a flow classifier according toanother embodiment of the application; and

FIG. 11 is a structural diagram of a controller according to anotherembodiment of the application.

DETAILED DESCRIPTION OF THE EMBODIMENTS

In the description hereinafter, specific details such as a specificsystem structure, an interface, and a technique are proposed forillustration rather than for limitation, in order to obtain thoroughunderstanding of the application. However, those skilled in the artshould be clear that, the application may be implemented according toother embodiments without these specific details. In other cases,detailed description of well-known devices, circuits and methods areomitted, to prevent unnecessary details from impeding the description ofthe application.

Referring to FIG. 2, a structural diagram of a service chain selectioncontrol system according to an embodiment of the application isprovided. The service chain selection control system according to theembodiment of the application includes a cooperation device 210, apolicy and charging rules function (PCRF) unit 220, a controller 230, anaccess device 240, a flow classifier 250, a plurality of forwardingdevices 260 and a plurality of value-added service devices 270. An endof the cooperation device 210 is connected to a first end of the PCRFunit 220, a second end of the PCRF unit 220 is connected to an end ofthe access device 240, a third end of the PCRF unit 220 is connected toa first end of the flow classifier 250, and the other end of the accessdevice 240 is connected to a second end of the flow classifier 250. Theother end of the cooperation device 210 is connected to the controller230, and the controller 230 is further connected to forwarding devices260 under jurisdiction of the controller 230. A third end of the flowclassifier 250 is connected to at least one of the forwarding devices260 under jurisdiction of the controller 230. The forwarding devices 260are connected to the value-added service devices 270. Each of thevalue-added service devices 270 is connected to one of the forwardingdevices 260, and the plurality of value-added service devices 270 may beconnected to a same one of the forwarding devices 260. The value-addedservice devices 270 as shown in the figure include value-added servicedevices a, b, c, d, e and f.

The cooperation device 210 sends a logic service chain definition to thecontroller 230. The logic service chain definition is predefined basedon actual use requirements, including information of the value-addedservice devices 270 through which service chains need to pass. Theservice chain is a path through which a service flow needs to pass andincludes forwarding devices 260 through which the service flow needs topass and value-added service devices 270 through which the service flowneeds to pass. Each service chain has an identifier. For example, thelogic service chain definition is: a service chain having an identifier1 needs to pass through the value-added service devices b and esequentially, a service chain having an identifier 2 needs to passthrough the value-added service devices c, d, and f sequentially, and aservice chain having an identifier 3 needs to pass through thevalue-added service devices a, c, and d sequentially.

After receiving the logic service chain definition, the controller 230obtains the information of the value-added service devices 270 throughwhich the service chains need to pass. Then, forwarding devices 260connected to the value-added service devices 270 through which theservice chains need to pass are found out based on a network topology,so as to determine the forwarding devices 260 to pass through. Anoptimal path for each service flow is planned based on the forwardingdevices 260 to pass through and load states of the forwarding devices260. After the optimal path for each service chain is planned, a flowforwarding table is generated for each of the forwarding devices 260 inthe service chain. The flow forwarding table includes matchinginformation and operation information. The matching information includesidentifiers of service chains. The operation information is to instructthe forwarding device 260 to send a message having an identifier to thevalue-added service devices 270 in a service chain directly connected tothe forwarding device 260, after the message is received, and to forwardthe message to a next forwarding device 260 in the service chain afterthe message is returned by the value-added service devices 270.

In another aspect, the cooperation device 210 sends a service chainselection policy to the PCRF unit 220. The service chain selectionpolicy is predefined based on the actual use requirements, includingrelation information among policy contextual information, applicationtypes and service chains. Based on the actual use requirements, thepolicy contextual information includes at least one of the following:subscriber signing type information, subscriber terminal access typeinformation, subscriber terminal location information and cellcongestion information. For example, the subscriber signing type may bea gold medal user, a silver medal user, or an ordinary user. Thesubscriber terminal access type includes at least one of the following:access to a 2G network, access to a 3G network, and access to a WiFi(Wireless Fidelity) network. The application type includes at least oneof the following: web browsing, video browsing, service flow foraccessing a specific website address, service flow of a specific sourceinternet protocol (IP) address, and service flow of a specificapplication protocol.

For example, in an embodiment, the service chain selection policy mayselect a service chain having the identifier 1 for a service flow withan application type of web browsing when a silver medal user accesses a2G network, select a service chain having the identifier 2 for a serviceflow with an application type of video when the silver medal useraccesses the 2G network, and select a service chain having theidentifier 3 for a service flow with an application type of video when agold medal user accesses a 3G network.

The PCRF unit 220 receives the policy contextual information and theservice chain selection policy sent by the cooperation device 210, andobtains a service chain selection control policy based on the policycontextual information and the service chain selection policy. Forexample, an access type of an access user which the PCRF unit 220obtains from the access device 240 is access to a 2G network, and thesubscriber signing type information obtained from a subscriber signingtype database 280 is a silver medal user, then the service chainselection control policy obtained by the PCRF unit 220 based on theservice chain selection policy is to select a service chain having theidentifier 1 for the service flow with the application type of webbrowsing, and to select the service chain having the identifier 2 forthe service flow with the application type of video. After obtaining theservice chain selection control policy, the PCRF unit 220 sends theservice chain selection control policy to the flow classifier 250. Theconventional Gx interface protocol can not supported to send the servicechain selection control policy to the flow classifier 250, therefore theGx interface protocol needs to be extended. According to an embodimentof the application, a string-typed field may be introduced into the Gxinterface protocol, in order to bear the identifier of the servicechain.

After receiving the service chain selection control policy sent by thePCRF unit 220, the flow classifier 250 detects the service flows withthe application types, and adds identifiers of the service chains to themessages of the service flows corresponding to the application types.For example, after receiving the service chain selection control policywhich is to select the service chain having the identifier 1 for theservice flow with the application type of web browsing, the flowclassifier 250 detects the service flow of web browsing, and adds theidentifier 1 to the message of the service flow. After receiving theservice chain selection control policy which is to select the servicechain having the identifier 2 for the service flow with the applicationtype of video browsing, the flow classifier 250 detects the service flowof video browsing, and adds the identifier 2 to the message of theservice flow. Then, the messages of the service flows with the addedidentifiers are sent to the forwarding device 260 directly connected tothe flow classifier 250.

Since the forwarding device 260 has already received the flow forwardingtable in advance, the forwarding devices 260, after receiving themessages with the added identifiers, matches the messages based onidentifiers of service chains in matching information, and operatesbased on operation information. The forwarding devices 260 sends themessage with the identifier in the matching information to thevalue-added service devices 270 in the service chain directly connectedto the forwarding device 260, and forwards the message to a nextforwarding device 260 in the service chain after the message is returnedby the value-added service devices 270.

The logic service chain definition includes information of thevalue-added service devices 270 to pass through, the flow forwardingtable is generated by the controller 220 based on the optimal pathplanned according to the logic service chain definition, and theforwarding devices 260 only send the messages with the identifiers inthe matching information to corresponding value-added service devices270. Therefore, as long as the forwarding devices 260 operate based onthe flow forwarding table, the messages only pass through thevalue-added service devices 270 to pass through, rather than passingthrough value-added service devices 270 through which it does not needto pass. As shown in the figure, the service flow with the identifier 1only passes through the value-added service devices b and e, rather thanthe value-added service devices a, c, d, and f (as shown in the figureby dotted lines), and the service flow with the identifier 2 only passesthrough the value-added service devices c, d and f, rather than thevalue-added service devices a, b, and e. Therefore, the solution of thedisclosure is advantageous to reduce the load of the device. Inaddition, the value-added service devices through which it does not needto pass are not passed through, therefore it is advantageous to reducepossible failure points.

Referring to FIG. 3, a flow chart of a service chain selection controlmethod according to an embodiment of the application is shown. Theembodiment is described from the perspective of a policy and chargingrules function PCRF unit. The service chain selection control methodaccording to the embodiment of the application includes the followingoperations.

In 301, a PCRF unit receives a service chain selection policy sent by acooperation device.

The cooperation device sends the service chain selection policy to thePCRF unit, and the PCRF unit accordingly receives the service chainselection policy sent by the cooperation device. The service chainselection policy includes a corresponding relation among first policycontextual information, a first application type and a first servicechain. The first service chain is a path formed by the forwardingdevices and the value-added service devices both of which a firstservice flow needs to pass through. The first service flow is from auser matching the first policy contextual information, and a type of thefirst service flow is the first application type. The service chainselection policy further includes a corresponding relation among secondpolicy contextual information, a second application type and a secondservice chain. The second service chain is a path formed by theforwarding devices and the value-added service devices both of which asecond service flow needs to pass through. The second service flow isfrom a user with the second policy contextual information, and a type ofthe second service flow is the second application type.

The policy contextual information includes at least one of thefollowing: subscriber signing type information, subscriber terminalaccess type information, subscriber terminal location information andcell congestion information. For example, the subscriber signing typemay be a gold medal user, a silver medal user, or an ordinary user. Thesubscriber terminal access type includes at least one of the following:access to a 2G network, access to a 3G network, and access to a WiFi(Wireless Fidelity) network. The application type includes at least oneof the following: web browsing, video browsing, service flow foraccessing a specific website address, service flow of a specific sourceinternet protocol (IP) address, and service flow of a specificapplication protocol.

For example, in an embodiment, the service chain selection policy mayselect a service chain having the identifier 1 for a service flow withan application type of web browsing when a silver medal user accesses a2G network, select a service chain having the identifier 2 for a serviceflow with an application type of video when the silver medal useraccesses the 2G network, and select a service chain having theidentifier 3 for a service flow with an application type of video when agold medal user accesses a 3G network.

In 302, the first policy contextual information is received, and it isdetermined a service chain selection control policy based on the firstpolicy contextual information and the service chain selection policy.The service chain selection control policy includes a correspondingrelation between the first application type and the first service chain.

For example, the access type of an access user which the PCRF unitobtains from the access device is access to a 2G network, and thesubscriber signing type information obtained from a subscriber signingtype database is a silver medal user, then the service chain selectioncontrol policy obtained by the PCRF unit based on the service chainselection policy is to select a service chain having the identifier 1for the service flow with the application type of web browsing, and toselect a service chain having the identifier 2 for the service flow withthe application type of video.

In 303, the service chain selection control policy is sent to a flowclassifier.

After obtaining the service chain selection control policy, the PCRFunit sends the service chain selection control policy to the flowclassifier. The conventional Gx interface protocol can not supported tosend the service chain selection control policy to the flow classifier,therefore the Gx interface protocol needs to be extended. According toan embodiment of the application, a string-typed field may be introducedinto the Gx interface protocol, in order to bear the identifier of theservice chain.

Referring to FIG. 4, a flow chart of a service chain selection controlmethod according to another embodiment of the application is shown. Theservice chain selection control method according to the embodiment isdescribed from the perspective of a flow classifier. The service chainselection control method according to the embodiment of the applicationincludes the following operations.

In 401, a flow classifier receives a service chain selection controlpolicy sent by a PCRF unit.

After executing the method shown in FIG. 3, the PCRF unit obtains theservice chain selection control policy, and sends the service chainselection control policy to the flow classifier. And then the flowclassifier receives the service chain selection control policy sent bythe PCRF unit. The service chain selection control policy includes acorresponding relation between application types and identifiers ofservice chains. The service chain is a path formed by the forwardingdevices and the value-added service devices both of which a service flowwith an application type need to pass through. For example, the servicechain selection control policy is to select a service chain having theidentifier 1 for the service flow with the application type of webbrowsing, and to select a service chain having the identifier 2 for theservice flow with the application type of video.

In 402, the flow classifier detects the service flows with theapplication types based on the service chain selection control policy,and adding identifiers of the service chains to the messages of theservice flows.

The flow classifier detects the service flow of web browsing, and addsthe identifier 1 to the message of the service flow. The flow classifierdetects the service flow of video browsing, and adds the identifier 2 tothe message of the service flow.

In 403, the flow classifier sends the messages of the service flows withthe added identifiers to a forwarding device directly connected to theflow classifier.

Referring to FIG. 5, a flow chart of a service chain selection controlmethod according to still another embodiment of the application isshown. The service chain selection control method according to theembodiment is described from the perspective of a controller. Theservice chain selection control method according to the embodiment ofthe application includes the following operations.

In 501, a controller receives a logic service chain definition sent by acooperation device.

The cooperation device sends the logic service chain definition to thecontroller. Accordingly, the controller receives the logic service chaindefinition sent by the cooperation device. The logic service chaindefinition is predefined based on actual use requirements, includinginformation of value-added service devices through which service chainsneed to pass. The service chain is a path through which a service flowneeds to pass and includes forwarding devices through which the serviceflow needs to pass and value-added service devices through which theservice flow needs to pass. Each service chain has an identifier. Forexample, the logic service chain definition is: a service chain havingan identifier 1 needs to pass through the value-added service devices band e sequentially, a service chain having an identifier 2 needs to passthrough the value-added service devices c, d, and f sequentially, and aservice chain having an identifier 3 needs to pass through thevalue-added service devices a, c, and d sequentially.

In 502, the controller generates a flow forwarding table for each of theforwarding devices through which the service chains pass, based on thelogic service chain definition.

After receiving the logic service chain definition, the controllerobtains the information of the value-added service devices through whichthe service chains need to pass. Then, forwarding devices connected tothe value-added service devices through which the service chains need topass are found out based on a network topology, so as to determine theforwarding devices to pass through. An optimal path for each servicechain is planned based on the forwarding devices to pass through andload states of the forwarding devices to determine the service chain.After the optimal path for each service chain is planned, a flowforwarding table is generated for each of the forwarding devices in theservice chain. The flow forwarding table includes matching informationand operation information. The matching information includes identifiersof service chains. The operation information is to instruct theforwarding device to send a message having an identifier to thevalue-added service devices in a service chain directly connected to theforwarding device after the message is received, and to forward themessage to a next forwarding device in the service chain after themessage is returned by the value-added service devices.

In 503, flow forwarding tables generated for the forwarding devices aresent to the forwarding devices through which the service chains pass.

Referring to FIG. 6, a structural diagram of a policy and charging rulesfunction unit according to an embodiment of the application is shown.The policy and charging rules function unit according to the embodimentincludes a receiving module 610, a policy making module 620 and asending module 630.

The receiving module 610 is configured to receive a service chainselection policy sent by a cooperation device.

The service chain selection policy includes a corresponding relationamong first policy contextual information, a first application type anda first service chain. The first service chain is a path formed by theforwarding devices and the value-added service devices both of which afirst service flow needs to pass through. The first service flow is froma user matching the first policy contextual information, and a type ofthe first service flow is the first application type. The service chainselection policy further includes a corresponding relation among secondpolicy contextual information, a second application type and a secondservice chain. The second service chain is a path formed by theforwarding device and the value-added service device both of which asecond service flow needs to pass through. The second service flow isfrom a user with the second policy contextual information, and a type ofthe second service flow is the second application type. The policycontextual information includes at least one of the following:subscriber signing type information, subscriber terminal access typeinformation, subscriber terminal location information and cellcongestion information. For example, the subscriber signing type may bea gold medal user, a silver medal user, or an ordinary user. Thesubscriber terminal access type includes at least one of the following:access to a 2G network, access to a 3G network, and access to a WiFi(Wireless Fidelity) network. The application type includes at least oneof the following: web browsing, video browsing, service flow foraccessing a specific website address, service flow of a specific sourceinternet protocol (IP) address, and service flow of a specificapplication protocol. For example, in an embodiment, the service chainselection policy may select the service chain having the identifier 1for a service flow with an application type of web browsing when asilver medal user accesses a 2G network, select the service chain havingthe identifier 2 for a service flow with an application type of videowhen the silver medal user accesses the 2G network, and select a servicechain having the identifier 3 for a service flow with an applicationtype of video when a gold medal user accesses a 3G network.

The receiving module 610 sends the service chain selection policy to thepolicy making module 620.

The policy making module 620 is configured to receive the first policycontextual information, and determines a service chain selection controlpolicy based on the received first policy contextual information and theservice chain selection policy. The service chain selection controlpolicy includes a corresponding relation between the first applicationtype and the first service chain.

For example, the access type of an access user which a PCRF unit obtainsfrom the access device is access to a 2G network, and the subscribersigning type information obtained from a subscriber signing typedatabase is a silver medal user, then the service chain selectioncontrol policy obtained by the PCRF unit based on the service chainselection policy is to select a service chain having the identifier 1for the service flow with the application type of web browsing, and toselect a service chain having the identifier 2 for the service flow withthe application type of video.

The policy making module 620 sends the service chain selection controlpolicy to the sending module 630.

The sending module 630 is configured to receive the service chainselection control policy, and send the service chain selection controlpolicy to a flow classifier.

Referring to FIG. 7, a structural diagram of a flow classifier accordingto an embodiment of the application is shown. The flow classifieraccording to the embodiment includes a receiving module 710, anexecuting module 720 and a sending module 730.

The receiving module 710 is configured to receive a service chainselection control policy sent by a PCRF unit.

For example, the receiving module 710 is configured to receive serviceflows, and the service chain selection control policy sent by the PCRFunit. The service chain selection control policy includes acorresponding relation between application types and identifiers ofservice chains. The service chain is a path formed by the forwardingdevices and the value-added service devices both of which a service flowwith an application type need to pass through. For example, the servicechain selection control policy is to select a service chain having theidentifier 1 for the service flow with the application type of webbrowsing, and to select a service chain having the identifier 2 for theservice flow with the application type of video.

The receiving module 710 sends the service chain selection controlpolicy to the executing module 720.

The executing module 720 is configured to receive the service chainselection control policy, detect the service flows with the applicationtypes based on the service chain selection control policy, and addidentifiers of the service chains to the messages of the service flows.

For example, the executing module 720 detects the service flow of webbrowsing, and adds the identifier 1 to the message of the service flow.The executing module 720 detects the service flow of video browsing, andadds the identifier 2 to the message of the service flow.

The executing module 720 sends the messages with the added identifiersto the sending module 730.

The sending module 730 is configured to receive the messages with theadded identifiers, and send the messages of the service flows with theadded identifiers to a forwarding device directly connected to the flowclassifier.

Optionally, the receiving module 710 is configured to receive, throughan extended Gx interface protocol, the service chain selection controlpolicy sent by the PCRF unit.

Referring to FIG. 8, a structural diagram of a controller according toan embodiment of the application is shown. The controller according tothe embodiment includes a receiving module 810, a generating module 820and a sending module 830.

The receiving module 810 is configured to receive a logic service chaindefinition sent by a cooperation device.

For example, the receiving module 810 receives the logic service chaindefinition sent by the cooperation device. The logic service chaindefinition is predefined based on actual use requirements, includinginformation of value-added service devices through which service chainsneed to pass. The service chain is a path through which a service flowneeds to pass and includes forwarding devices through which the serviceflow needs to pass and value-added service devices through which theservice flow needs to pass. Each service chain has an identifier. Forexample, the logic service chain definition is: a service chain havingan identifier 1 needs to pass through the value-added service devices band e sequentially, a service chain having an identifier 2 needs to passthrough the value-added service devices c, d, and f sequentially, and aservice chain having an identifier 3 needs to pass through thevalue-added service devices a, c, and d sequentially.

The receiving module 810 sends the logic service chain definition to thegenerating module 820.

The generating module 820 is configured to receive the logic servicechain definition, and generate, based on the logic service chaindefinition, a flow forwarding table for each of forwarding devicesthrough which the service chains pass.

For example, after receiving the logic service chain definition, theinformation of the value-added service devices through which the servicechains need to pass is obtained. Then, forwarding devices connected tothe value-added service devices through which the service chains need topass are found out based on a network topology, so as to determine theforwarding devices to pass through. An optimal path for each servicechain is planned based on the forwarding devices to pass through andload states of the forwarding devices, to determine the service chain.After the optimal path for each service chain is planned, the generatingmodule 820 generates a flow forwarding table for each of the forwardingdevices in the service chain. The flow forwarding table includesmatching information and operation information. The matching informationincludes identifiers of service chains. The operation information is toinstruct the forwarding device to send a message having an identifier tothe value-added service devices in a service chain directly connected tothe forwarding device after the message is received, and to forward themessage to a next forwarding device in the service chain after themessage is returned by the value-added service devices.

The generating module 820 sends the flow forwarding tables to thesending module 830.

The sending module 830 is configured to receive flow forwarding tables,and send the flow forwarding tables generated for the forwarding devicesto the forwarding devices through which the service chains pass.

Referring to FIG. 9, a structural diagram of a policy and charging rulesfunction unit according to another embodiment of the application isshown. The policy and charging rules function unit according to theembodiment includes a receiver 910, a processor 920, a transmitter 930,a read-only memory 940, a random access memory 950, and a bus 960.

The receiver 910 is configured to receive data.

The processor 920 controls the operation of the policy and chargingrules function unit. The processor 920 may be further referred to as CPU(central processing unit). The processor 920 may be an integratedcircuit chip with a signal processing capability. The processor 920 maybe further a general-purpose processor, a digital signal processor(DSP), an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA) or other programmable logic devices, adiscrete gate or transistor logic device, and a discrete hardwarecomponent. The general-purpose processor may be a microprocessor, or theprocessor may be any conventional processor.

The transmitter 930 is configured to send data.

A memory may include the read-only memory 940 and the random accessmemory 950, and may provide instructions and data to the processor 920.A part of the memory may further include a non-volatile random accessmemory (NVRAM).

Components of the policy and charging rules function unit are coupledtogether through the bus 960. The bus 960 includes a data bus, and mayfurther include a power bus, a control bus, a status signal bus, or thelike. For clear description, various buses are referred to as the bus960, collectively.

The memory stores the following elements: operating instructions and anoperating system. The memory may execute a module or a data structure, asubset thereof, or an extension set thereof.

The operating instructions may implement operations corresponding to theinstructions.

The operating system includes a system program, to implement afundamental service and to process a hardware-based task.

In the embodiment of the application, the processor 920 executes thefollowing operations through calling the operating instructions (theoperating instructions may be stored in the operating system) stored inthe memory.

The processor 920 calls the receiver 910 to receive a service chainselection policy sent by a cooperation device. The service chainselection policy includes a corresponding relation among first policycontextual information, a first application type and a first servicechain. The first service chain is a path formed by the forwardingdevices and the value-added service devices both of which a firstservice flow needs to pass through. The first service flow is from auser matching the first policy contextual information, and a type of thefirst service flow is the first application type. The service chainselection policy further includes a corresponding relation among secondpolicy contextual information, a second application type and a secondservice chain. The second service chain is a path formed by theforwarding devices and the value-added service devices both of which asecond service flow needs to pass through. The second service flow isfrom a user with the second policy contextual information, and a type ofthe second service flow is the second application type.

The processor 920 calls the receiver 910 to receive the first policycontextual information, and the processor 920 determines a service chainselection control policy based on the first policy contextualinformation and the service chain selection policy. The service chainselection control policy includes a corresponding relation between thefirst application type and the first service chain.

The processor 920 calls the transmitter 930 to send the service chainselection control policy to a flow classifier.

Optionally, the policy contextual information includes at least one ofthe following: subscriber signing type information, subscriber terminalaccess type information, subscriber terminal location information andcell congestion information.

Optionally, the transmitter 930 sends the service chain selectioncontrol policy to the flow classifier through an extended Gx interfaceprotocol.

Referring to FIG. 10, a structural diagram of a flow classifieraccording to another embodiment of the application is shown. The flowclassifier according to the embodiment includes a receiver 1010, aprocessor 1020, a transmitter 1030, a read-only memory 1040, a randomaccess memory 1050, and a bus 1060.

The receiver 1010 is configured to receive data.

The processor 1020 controls the operation of the flow classifier. Theprocessor 1020 may be further referred to as CPU (central processingunit). The processor 1020 may be an integrated circuit chip with asignal processing capability. The processor 1020 may be further ageneral-purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic devices, a discrete gateor transistor logic device, and a discrete hardware component. Thegeneral-purpose processor may be a microprocessor, or the processor maybe any conventional processor.

The transmitter 1030 is configured to send data.

A memory may include the read-only memory 1040 and the random accessmemory 1050, and may provide instructions and data to the processor1020. A part of the memory may further include a non-volatile randomaccess memory (NVRAM).

Components of the flow classifier are coupled together through the bus1060. The bus 1060 includes a data bus, and may further include a powerbus, a control bus, a status signal bus, or the like. For cleardescription, various buses are referred to as the bus 1060,collectively.

The memory stores the following elements: operating instructions and anoperating system. The memory may execute a module or a data structure, asubset thereof, or an extension set thereof.

The operating instructions may implement operations corresponding to theinstructions.

The operating system includes a system program, to implement afundamental service and to process a hardware-based task.

In the embodiment of the application, the processor 1020 executes thefollowing operations through calling the operating instructions (theoperating instructions may be stored in the operating system) stored inthe memory.

The processor 1020 calls the receiver 1010 to receive service flows anda service chain selection control policy sent by a PCRF unit. Theservice chain selection control policy includes a corresponding relationbetween application types and identifiers of service chains. The servicechain is a path formed by the forwarding devices and the value-addedservice devices both of which a service flow with an application typeneed to pass through.

The processor 1020 detects the service flows with the application typesbased on the service chain selection control policy, and addsidentifiers of the service chains corresponding to the application typesto the messages of the service flows.

The processor 1020 calls the transmitter 1030 to send the messages ofthe service flows with the added identifiers of the service chains toforwarding devices directly connected to the flow classifier.

Optionally, the processor 1020 calls the receiver 1010 to receive,through an extended Gx interface protocol, the service chain selectioncontrol policy sent by the PCRF unit.

Referring to FIG. 11, a structural diagram of a controller according toanother embodiment of the application is shown. The controller accordingto the embodiment includes a receiver 1110, a processor 1120, atransmitter 1130, a read-only memory 1140, a random access memory 1150,and a bus 1160.

The receiver 1110 is configured to receive data.

The processor 1120 controls the operation of the controller. Theprocessor 1120 may be further referred to as CPU (central processingunit). The processor 1120 may be an integrated circuit chip with asignal processing capability. The processor 1120 may be further ageneral-purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic devices, a discrete gateor transistor logic device, and a discrete hardware component. Thegeneral-purpose processor may be a microprocessor, or the processor maybe any conventional processor.

The transmitter 1130 is configured to send data.

A memory may include the read-only memory 1140 and the random accessmemory 1150, and may provide instructions and data to the processor1120. A part of the memory may further include a non-volatile randomaccess memory (NVRAM).

Components of the controller are coupled together through the bus 1160.The bus 1160 includes a data bus, and may further include a power bus, acontrol bus, a status signal bus, or the like. For clear description,various buses are referred to as the bus 1160, collectively.

The memory stores the following elements: operating instructions and anoperating system. The memory may execute a module or a data structure, asubset thereof, or an extension set thereof.

The operating instructions may implement operations corresponding to theinstructions.

The operating system includes a system program, to implement afundamental service and to process a hardware-based task.

In the embodiment of the application, the processor 1120 executes thefollowing operations through calling the operating instruction (theoperating instructions may be stored in the operating system) stored inthe memory.

The processor 1120 calls the receiver 1110 to receive a logic servicechain definition sent by a cooperation device. The logic service chaindefinition includes information of value-added service devices throughwhich service chains pass. The service chain is a path through which aservice flow needs to pass and includes forwarding devices through whichthe service flow needs to pass and value-added service devices throughwhich the service flow needs to pass. Each service chain has anidentifier.

The processor 1120 generates a flow forwarding table for each of theforwarding devices through which the service chains pass. The flowforwarding table includes matching information and operationinformation. The matching information includes identifiers of servicechains. The operation information is to instruct the forwarding deviceto send a message having an identifier to the value-added servicedevices in a service chain directly connected to the forwarding deviceafter the message is received, and to forward the message returned bythe value-added service devices to a next forwarding device in theservice chain after the message is returned by the value-added servicedevices.

The transmitter 1130 sends flow forwarding tables generated for theforwarding devices to the forwarding devices through which the servicechains pass.

It should be understood that, according to the embodiments of thedisclosure, the disclosed system, apparatus and methods may beimplemented in other ways. For example, the described apparatusembodiment is merely exemplary. The division of the units is merelybased on logical functions, and the units may be divided with otherapproaches in practice. For example, multiple units or modules may becombined, or may be integrated into another system, or some features maybe omitted or not be implemented. In addition, the displayed ordiscussed couplings, direct couplings or communication connectionsbetween individual components may be implemented via indirect couplingsor communication connections between some interfaces, devices or units,which may be electrical, mechanical or in other forms.

The units described as separate components may be or may not beseparated physically. The components shown as units may be or may not bephysical units, i.e., the units may be located at one place or may bedistributed onto multiple network units. All of or part of the units maybe selected based on actual needs to implement the solutions accordingto the embodiments of the disclosure.

In addition, individual function units according to the embodiments ofthe disclosure may be integrated in one processing unit, or the unitsmay exist separately, or two or more units may be integrated in oneunit. The foregoing integrated units may be realized in a form ofhardware, or realized in a form of software functional units.

If the integrated unit is implemented in the form of software functionunit and the software function unit is sold or used as separateproducts, the software function unit may also be stored in a computerreadable storage medium. Based on such understanding, the technicalsolutions of the disclosure, part of the disclosure that contributes toconventional technologies or part of the technical solutions may beembodied in the form of a software product. The computer softwareproduct is stored in a storage medium and includes several instructionsfor instructing a computer device (which may be personal computer,server, network device or the like) or a processor (processor) toimplement all of or part of the steps of the methods according to theembodiments of the disclosure. The foregoing storage medium includesvarious media that can store programs, for example, USB disk, mobilehard disk drive, read-only memory (ROM), random access memory (RAM),magnetic disk, optical disk and the like.

What is claimed is:
 1. A flow classifier, comprising: one or moreprocessors; and a memory storing program instructions that, whenexecuted by the one or more processors, configure the flow classifierto: receive a first service flow, wherein a type of the first serviceflow is a first application type; obtain, from a policy and chargingrules function (PCRF) unit, a service chain selection control policy;determine a first service chain corresponding to the first applicationtype according to a first corresponding relation, wherein the servicechain selection control policy comprises the first correspondingrelation between the first application type and a first identifier ofthe first service chain; and forward a second service flow to aforwarding device, wherein the second service flow comprises the firstservice flow and the first identifier of the first service chain, thefirst service chain comprises a path, the path comprises the forwardingdevice, and the first service flow flows through the forwarding device.2. The flow classifier according to claim 1, wherein the service chainselection control policy is obtained through an extended Gx interfaceprotocol from the PCRF unit.
 3. The flow classifier according to claim1, wherein the flow classifier is communicatively coupled with at leastone of: the PCRF unit, an access device, or one or more forwardingdevices.
 4. The flow classifier according to claim 1, wherein the pathfurther comprises a value-added service device.
 5. A policy and chargingrules function (PCRF) unit, comprising: one or more processors; and amemory storing program instructions that, when executed by the one ormore processors, configure the PCRF unit to: obtain a service chainselection policy, wherein the service chain selection policy comprises afirst corresponding relation corresponding to first policy contextualinformation, a first application type, and a first service chain;determine a first service chain selection control policy based on thefirst policy contextual information and the service chain selectionpolicy, wherein the first service chain selection control policycomprises the first corresponding relation between the first applicationtype and the first service chain; and send the first service chainselection control policy to a flow classifier, wherein the first servicechain is a path comprising one or more first forwarding devices, a firstservice flow needs to pass through the one or more first forwardingdevices, the first service flow is from a user device matching the firstpolicy contextual information, and a type of the first service flow isthe first application type.
 6. The PCRF unit according to claim 5,wherein the first policy contextual information comprises at least oneof: subscriber signing type information, subscriber terminal access typeinformation, subscriber terminal location information, or cellcongestion information.
 7. The PCRF unit according to claim 5, whereinthe PCRF unit is configured to send, through an extended Gx interfaceprotocol, the first service chain selection control policy to the flowclassifier.
 8. The PCRF unit according to claim 5, wherein the firstpolicy contextual information is from at least one of: a cooperationdevice, an access device, or a subscriber signing type database.
 9. Anon-transitory computer readable storage medium, comprising instructionsthat, when executed by a computer, cause the computer to: receive afirst service flow, wherein a type of the first service flow is a firstapplication type; obtain, from a policy and charging rules function(PCRF) unit, a service chain selection control policy; determine a firstservice chain corresponding to the first application type according to afirst corresponding relation, wherein the service chain selectioncontrol policy comprises the first corresponding relation between thefirst application type and a first identifier of the first servicechain; and forward a second service flow to a forwarding device, whereinthe second service flow comprises the first service flow and the firstidentifier of the first service chain, the first service chain comprisesa path, the path comprises the forwarding device, and the first serviceflow flows through the forwarding device.
 10. The non-transitorycomputer readable storage medium according to claim 9, wherein theservice chain selection control policy is obtained through an extendedGx interface protocol from the PCRF unit.